//处理备忘录文件夹请求
//获取app对象
//var app = require('../module/app');
var express = require('express')
	//导入 upload对象
var fs = require('fs');
var template = require('../module/template.js');
var router = express.Router();
//判断文件是否为空
function setData(data) {
	var data;
	//如果文件为空
	if(data == "") {
		data = []
	} else {
		data = JSON.parse(data);
	}
	return data;
}
//跳转到删除页面
router.get('/delForm',function(req,res){
	var data = fs.readFileSync('infos/delInfos.txt');
	res.render('dels',{title:'最近删除',data:JSON.parse(data)})
})
//处理文件夹删除操作
router.post('/Folder/delFolder', function(req, res) {
	var delNames = req.body.delName;
	// 读取目录文件内容
	var data = fs.readFileSync('infos/infos.txt');
	var objs = [];
	var delObjs = [];
	data = setData(data);
	for(var i = 0; i < data.length; i++) {
		//如果在删除数组内不加人objs
		var isdel = false; //是否需要删除
		for(var j = 0; j < delNames.length; j++) {
			if(data[i].folder == delNames[j]) {
				isdel = true;
				delObjs.push(data[i]);
				continue;
			}
		}
		//如果不需要删除，添加入objs数组中
		if(!isdel) {
			objs.push(data[i]);
		}
	}
	//写入新的
	fs.writeFile('infos/infos.txt', JSON.stringify(objs), function(infoErr) {
		if(!infoErr) {
			//写入成功时把删除的放入删除文件
			fs.readFile('infos/delInfos.txt', function(err, delData) {
				if(!err) {
					delData = setData(delData);
					for(var j = 0; j < delObjs.length; j++) {
						delData.push(delObjs[j]);
					}
					//写入成功时把删除的放入删除文件
					fs.writeFile('infos/delInfos.txt', JSON.stringify(delData), function(delErr) {
						if(!delErr) {
							//写入成功
							res.status(200).send({
								code: 1,
								message: '删除成功'
							})
						}
					});
				}
			});
		}
	});
});
//处理新建文件夹操作
router.post('/Folder/addFolder', function(req, res) {
	// 读取文件内容
	console.log('--------------------------------')
//	console.log(req.body.folderName)
	fs.readFile('infos/infos.txt', function(err, data) {
		if(!err) {
			data = setData(data);
			var obj = {
					"folder": req.body.folderName,
					"contents": []
				}
				//查看data内容是否重复
			var isRepeat = false;
			for(var i = 0; i < data.length; i++) {
				if(data[i].folder == req.body.folderName) {
					data[i] = obj;
					isRepeat = true;
					break;
				}
			}
			//不重复添加新的
			if(!isRepeat)
				data.push(obj);
			//放入修改过的
			fs.writeFile('infos/infos.txt', JSON.stringify(data), function(err) {
				if(!err) {
					//写入成功
					res.redirect('/');
				}
			});
		}
	});
});
//修改文件夹
router.post('/Folder/updateFolder', function(req, res) {
	// 读取文件内容
	fs.readFile('infos/infos.txt', function(err, data) {
		if(!err) {
			data = setData(data);
			for(var i = 0; i < data.length; i++) {
				if(data[i].folder == req.body.oldName) {
					data[i].folder = req.body.newName;
					break;
				}
			}
			//放入修改过的
			fs.writeFile('infos/infos.txt', JSON.stringify(data), function(err) {
				if(!err) {
					//写入成功
					res.redirect('/');
				}
			});
		}
	});
});

//导出备忘录文件夹对象
module.exports = router;